<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>40.async函数</title>
</head>
<body>
<script>
  //使用async之后，不论你怎么操作，最后返回的都是一个promise对象
  async function m1(){
    //如果返回的不是错误，则返回的就是resolve类型的promise对象
    // return 'da'
    // return {name:'zzl'}
    //抛出错误，就返回的就是reject类型的promise对象
    // throw new Error("ERROR")


      //常规情况下，我们返回的还是promise对象
      return new Promise((resolve, reject) => {
        resolve('success')
        // reject('fail')
      })
  }

  let result = m1()

  //由于返回的是promise对象，可以使用then方法，进行链式调用
  result.then(value => {
    console.log(value)
  },reason => {
    console.log(reason)
  })


</script>
</body>
</html>